home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / RPDOC.SRC < prev    next >
Text File  |  1990-11-03  |  5KB  |  266 lines

  1. ;\|
  2. DO_DEFINES:
  3. define(TOT_RECORDS|N|8||)
  4. define(PAGE|N|5||)
  5. define(DOC|N|1||)
  6. define(SELECT_FROM1|S|8||)
  7. define(SELECT_THRU1|S|8||)
  8. define(BREAK_FIELD|N|  4||)
  9. OPEN_FILES:
  10. open(RP|||)
  11. open(PATIENT|||)
  12. trap(Q|G|EXIT)
  13. pchr(P|4)
  14. pchr(P|1)
  15. MOUNT_SCR:
  16. mount(SELECT|S)
  17. pmsg(" F1 - Help                                                           ESC - Exit "|1|25|N|Y|S|)
  18. START:
  19. DOC = (1)
  20. MOUNT_RPT:
  21. trap(I|G|ABORT_RPT)
  22. trap(R|S|DO_RELATED)
  23. trap(P|S|PRT_TOF)
  24. mount(ISSUE1|R|A)
  25. pset(128|66|60)
  26. FIND_FIRST:
  27. find(B|RP.REF|NO_RECS)
  28. BREAK_FIELD = (RP.REF)
  29. PRT_DETAIL:
  30. gosub CHK_BREAK
  31. pfmt(3||||)
  32. TOT_RECORDS = (TOT_RECORDS + 1)
  33. FIND_NEXT:
  34. find(N|RP|FINISH)
  35. goto PRT_DETAIL
  36. ABORT_RPT:
  37. pmsg(""|||N|N|D|)
  38. pmsg(""|||N|N|D|)
  39. pmsg(">>>>>  Report was terminated before completion  <<<<<"|||N|N|D|)
  40. pmsg(""|||N|N|D|)
  41. pmsg(""|||N|N|D|)
  42. FINISH:
  43. pblnk(2)
  44. pmsg("        Total records printed: ";TOT_RECORDS|||N|N|D|)
  45. trap(P|D)
  46. ptof
  47. DOC = (DOC+1)
  48. if doc > (4) goto exit
  49. trap(R|S|DO_RELATED)
  50. trap(P|S|PRT_TOF)
  51. ptof
  52. goto FIND_FIRST
  53. EXIT:
  54. run("recmenu")
  55. DO_RELATED:
  56. trap(R|D)
  57. find(R|RECORD.NUMBER|RP.REF|NO_RFIND)
  58. trap(R|S|DO_RELATED)
  59. if DOCTOR <> (DOC) do
  60. {
  61. pops
  62. goto FIND_NEXT
  63. }
  64. ret
  65. PRT_TOF:
  66. gosub GET_DATE
  67. pfmt(1||||)
  68. pfmt(2||||)
  69. ret
  70. CHK_BREAK:
  71. if BREAK_FIELD = (RP.REF) ret
  72. pfmt(4||||)
  73. BREAK_FIELD = (RP.REF)
  74. ret
  75. NO_RECS:
  76. MESSAGE[1] = ("There are no records in the primary file")
  77. NUM.MSG = (1)
  78. gosub PRT.MSG
  79. goto EXIT
  80. NO_RFIND:
  81. MESSAGE[1] = ("A matching record was not found during a related find")
  82. NUM.MSG = (1)
  83. gosub PRT.MSG
  84. goto EXIT
  85. GET_DATE:
  86. define(DATE_TIME|A|54||)
  87. define(CHG_TIME|T|8||)
  88. define(CHG_DATE|D|10||)
  89. define(STDDAYS|A|12||)
  90. define(STDMONTH|A|12||)
  91. define(STDYEAR|A|6||)
  92. define(STDAYH|A|4||)
  93. define(AM_PM|A|2||)
  94. define(TIME_STRG|A|10||)
  95. PAGE = (PAGE + 1)
  96. time(CHG_TIME|G)
  97. date(CHG_DATE|G)
  98. AM_PM = ("AM")
  99. if CHG_TIME > (43199) doO
  100. {
  101. AM_PM = ("PM")
  102. if CHG_TIME > (46799) then CHG_TIME = (CHG_TIME - 43200)
  103. }
  104. TIME_STRG =mid(CHG_TIME|1|8|)
  105. STDDAYS =day(CHG_DATE)
  106. STDMONTH =xmt(CHG_DATE)
  107. STDAYH =mid(CHG_DATE|4|2|)
  108. STDYEAR =mid(CHG_DATE|7|4|)
  109. DATE_TIME = (STDDAYS & " " + STDMONTH & " " + STDAYH & ", " + STDYEAR & "   " + TIME_STRG & " " +AM_PM)
  110. just(DATE_TIME|C)
  111. ret
  112. PRT.MSG:
  113. define(LNE.LNGTH|N|2||)
  114. define(LNE.LN2|N|2||)
  115. define(NUM.MSG|N|2||)
  116. define(MESSAGE|A|78||15)
  117. define(ENT.MASK|A|10||)
  118. define(LLC|N|2||)
  119. define(WD|N|2||)
  120. define(HT|N|2||)
  121. define(MCNTR|N|5||)
  122. define(MCNTR2|N|5||)
  123. define(MCNTR3|N|5||)
  124. define(MCNTR4|N|5||)
  125. LNE.LNGTH = (0)
  126. for(MCNTR|1|NUM.MSG|1)
  127. {
  128. LNE.LN2 =siz(A|MESSAGE[MCNTR])
  129. if LNE.LN2 > (LNE.LNGTH) then LNE.LNGTH = (LNE.LN2)
  130. }
  131. NUM.MSG = (NUM.MSG + 1)
  132. if LNE.LNGTH < (26) then LNE.LNGTH = (26)
  133. LNE.LNGTH = (LNE.LNGTH + 4)
  134. LLC = (40 - (LNE.LNGTH / 2))
  135. HT = (NUM.MSG + 3)
  136. WD = (LNE.LNGTH + 1)
  137. saves(1)
  138. window(LLC|24|HT|WD)
  139. NUM.MSG = (NUM.MSG - 1)
  140. pmsg(""||||||)
  141. for(MCNTR|1|NUM.MSG|1)
  142. {
  143. pmsg(MESSAGE[MCNTR]|3||N|N|S|)
  144. }
  145. pmsg("Press any key to continue"|3||Y|N|S|)
  146. redsp(1)
  147. ret
  148. ENT.MSG:
  149. define(OK|A|1||)
  150. LNE.LNGTH = (0)
  151. for(MCNTR|1|NUM.MSG|1)
  152. {
  153. LNE.LN2 =siz(A|MESSAGE[MCNTR])
  154. if LNE.LN2 > (LNE.LNGTH) then LNE.LNGTH = (LNE.LN2)
  155. }
  156. LNE.LN2 =siz(A|MESSAGE[NUM.MSG])
  157. LNE.LN2 = (LNE.LN2 + 2)
  158. if LNE.LNGTH < (LNE.LN2) then LNE.LNGTH = (LNE.LN2)
  159. LNE.LNGTH = (LNE.LNGTH + 4)
  160. LLC = (40 - (LNE.LNGTH / 2))
  161. HT = (NUM.MSG + 3)
  162. WD = (LNE.LNGTH + 1)
  163. saves(1)
  164. window(LLC|24|HT|WD)
  165. pmsg(""||||||)
  166. for(MCNTR|1|NUM.MSG|1)
  167. {
  168. MCNTR2 = (MCNTR + 1)
  169. pmsg(MESSAGE[MCNTR]|3|MCNTR2|N|Y|S|)
  170. }
  171. LNE.LN2 = (LNE.LN2 + 2)
  172. trap(%|I|)
  173. enter(OK|ENT.MASK|||Y|Y|N|LNE.LN2|MCNTR2|N)
  174. ENT.MASK = ("")
  175. redsp(1)
  176. ret
  177. \STSELECT  
  178.                             Selection Screen For
  179.                             RP REPORT BY DOCTOR
  180. ════════════════════════════════════════════════════════════════════════════════
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.             PRESS A KEY TO CONTINUE -
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. \
  203. \
  204. \R ISSUE1  
  205. PATIENT NAME   MEDICATION   FOR DOCTOR &                                                              LAST
  206. ================================================================================================================
  207.               &                              &         &          &                              [&]  &
  208. &                           &          &  &
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253. \
  254. DOC
  255. MEDICATION
  256. DOSE
  257. QUANTITY
  258. DIRECTIONS
  259. AUTO.ON.DEMAND
  260. ISSUE.1
  261. PATIENT.NAME
  262. DATE.OF.BIRTH
  263. DISPENSING
  264. SEEN
  265. \
  266.